﻿
function ValidacoesIncluirAlterarProduto(formulario) {
	$(formulario).validate({
		rules: {
			IdSubCategoria: { required: true },
			IdBebida: { required: true },
			ValorUnitario: { required: true }
		},
		messages: {            
			IdBebida: { required: "Campo obrigatório" }
		},
		submitHandler: function (form) {
			alert($('#formRegistrarProdutos').valid());
			form.submit();
		}
	});
}

function RegistrarProduto() {

    ValidacoesIncluirAlterarProduto("#formRegistrarProdutos");

    PrepararPopUp("#divRegistrarProdutoSucesso");
    PrepararPopUp("#divRegistrarProdutoCancelar");
    PrepararPopUp("#divRegistrarProdutoErro");

    $("#QuantidadeEstoque").numeric();

    if ($("#hProdutoInserido").val() == "True") {
        AbrirPopUp("#divRegistrarProdutoSucesso");
    }
    if ($("#hEmpresaErro").val() != "") {
        AbrirPopUp("#divIncluirEmpresaErro");
    }

    $("#btCancelar").click(function () {
        AbrirPopUp("#divRegistrarProdutoCancelar");
    });

    $("#IdCategoria").change(function () {
        CarregarSubCategoria($(this).val());
    });

    $("#IdSubCategoria").change(function () {
        CarregarBebidas($(this).val());
    });
}

function RegistrarProdutoAdministrar() {
    PrepararPopUp("#divRegistrarProdutoSucesso");
    PrepararPopUp("#divRegistrarProdutoCancelar");
    PrepararPopUp("#divRegistrarProdutoErro");

    if ($("#hProdutoInserido").val() == "True") {
        AbrirPopUp("#divRegistrarProdutoSucesso");
    }
    if ($("#hProdutoErro").val() != "") {
        AbrirPopUp("#divRegistrarProdutoErro");
    }

    $("#btCancelar").click(function () {
        AbrirPopUp("#divRegistrarProdutoCancelar");
    });

    $("#IdCategoria").change(function () {
        CarregarSubCategoriaRegistrar($(this).val());
    });

    $("#IdSubCategoria").change(function () {
        CarregarBebidasAlterar($(this).val());
    });
}

function CarregarSubCategoria(IdCategoria) {
	var _categoria = IdCategoria;

	if (_categoria == "" || _categoria == null) {
		return null;
	}

	var action = $("#actionCarregarSubCategoria").val() + "/" + _categoria;
	$.getJSON(action, null, CarregarSubCategoriaCallback);
}

function CarregarSubCategoriaCallback(retorno) {
	//Limpar os itens que são maiores que 0 ou seja: não retirar o primeiro item
	$("#IdSubCategoria :gt(0)").remove();
	if (retorno != null) {		
		$(retorno).each(function () {
			//adicionando as opções de acordo com o retorno
			$("#IdSubCategoria").append("<option value='" + this.IdSubCategoria + "'>" + this.NomeSubCategoria + "</option>");
		});
	}
}

function CarregarBebidas(IdSubCategoria) {
    var _subcategoria = IdSubCategoria;

    if (_subcategoria == "" || _subcategoria == null) {
        return null;
    }

    var action = $("#actionCarregarBebidas").val() + "/" + _subcategoria;
    $.getJSON(action, null, CarregarBebidasCallback);
}

function CarregarBebidasCallback(retorno) {
    //Limpar os itens que são maiores que 0 ou seja: não retirar o primeiro item
    $("#IdBebida :gt(0)").remove();
    if (retorno != null) {        
        $(retorno).each(function () {
            //adicionando as opções de acordo com o retorno
            $("#IdBebida").append("<option value='" + this.IdBebida + "'>" + this.NomeBebida + "</option>");
        });
    }
}

function CarregarSubCategoriaRegistrar(IdCategoria) {
    var _categoria = IdCategoria;

    if (_categoria == "" || _categoria == null) {
        return null;
    }

    var action = $("#actionCarregarSubCategoria").val() + "/" + _categoria;
    $.getJSON(action, null, CarregarSubCategoriaRegistrarCallback);
}

function CarregarSubCategoriaRegistrarCallback(retorno) {
    if (retorno != null) {
        $("#IdSubCategoria").empty().append('<option selected="selected" value="">--Selecione--</option>');
        $(retorno).each(function () {
            $("#IdSubCategoria").append("<option value='" + this.IdSubCategoria + "'>" + this.NomeSubCategoria + "</option>");
        });
    }
}

function CarregarSubCategoriaAlterar(IdCategoria) {
    debugger;
    var _categoria = IdCategoria;

    if (_categoria == "" || _categoria == null) {
        return null;
    }

    var action = $("#actionCarregarSubCategoria").val() + "/" + _categoria;
    $.getJSON(action, null, CarregarSubCategoriaAlterarCallback);
}

function CarregarSubCategoriaAlterarCallback(retorno) {
    debugger;
    if (retorno != null) {
        $("#IdSubCategoria").empty().append('<option selected="selected" value="">--Selecione--</option>');
        $(retorno).each(function () {            
            $("#IdSubCategoria").append("<option value='" + this.IdSubCategoria + "'>" + this.NomeSubCategoria + "</option>");
        });
    }
}

function CarregarBebidasAlterar(IdSubCategoria) {    
    var _subcategoria = IdSubCategoria;

    if (_subcategoria == "" || _subcategoria == null) {
        return null;
    }

    var action = $("#actionCarregarBebidas").val() + "/" + _subcategoria;
    $.getJSON(action, null, CarregarBebidasAlterarCallback);
}

function CarregarBebidasAlterarCallback(retorno) {
    if (retorno != null) {
        $("#IdBebida").empty().append('<option selected="selected" value="">--Selecione--</option>');
        $(retorno).each(function () {
            //adicionando as opções de acordo com o retorno
            $("#IdBebida").append("<option value='" + this.IdBebida + "'>" + this.NomeBebida + "</option>");
        });
    }
}

function AlterarProduto() {
    PrepararPopUp("#divAlterarProdutoSucesso");
    PrepararPopUp("#divAlterarProdutoCancelar");
    PrepararPopUp("#divAlterarProdutoErro");

    if ($("#hProdutoAlterado").val() == "True") {
        AbrirPopUp("#divAlterarProdutoSucesso");
    }
    if ($("#hProdutoErro").val() != "") {
        AbrirPopUp("#divAlterarProdutoErro");
    }

    $("#btCancelar").click(function () {
        AbrirPopUp("#divAlterarProdutoCancelar");
    });

    $("#IdCategoria").change(function () {
       CarregarSubCategoriaAlterar($(this).val());
    });

    $("#IdSubCategoria").change(function () {        
        CarregarBebidasAlterar($(this).val());
    });
}

function AlterarProdutoAdministrar() {
    PrepararPopUp("#divAlterarProdutoSucesso");
    PrepararPopUp("#divAlterarProdutoCancelar");
    PrepararPopUp("#divAlterarProdutoErro");

    if ($("#hProdutoAlterado").val() == "True") {
        AbrirPopUp("#divAlterarProdutoSucesso");
    }
    if ($("#hProdutoErro").val() != "") {
        AbrirPopUp("#divAlterarProdutoErro");
    }

    $("#btCancelar").click(function () {
        AbrirPopUp("#divAlterarProdutoCancelar");
    });

    $("#IdCategoria").change(function () {
        CarregarSubCategoria($(this).val());
    });

    $("#IdSubCategoria").change(function () {
        //CarregarBebidasAlterar($(this).val());
    });
}

function CalcularPrecoPromocional() {
	if ($("#ValorUnitario").val().trim() == "") {
		alert("Campo: Valor Unitário vazio.");
	}
	else {
		//string = String a ser transformada
		//radix = Numeral que você quer se basear (de 2 a 36)
		var valorUnitario = parseInt($("#ValorUnitario").val(), 10); // Base 10 Decimal
		var valorPromocional = valorUnitario - (valorUnitario * 0.15);
		//$("#ValorPromocional").meioMask();
		$("#ValorPromocional").val(valorPromocional);
	}
}

function ListarProdutos() {
    
	$("#divTabelaProduto").hide();
	$("#btnListarProdutos").click(function () {
		ListarProdutosPorDistribuidora();
	});

	function ListarProdutosPorDistribuidora() {        
		IdDistribuidora = parseInt($('#Distribuidora').val());
		var action = $("#actionListarProdutosDistribuidora").val() + "/" + IdDistribuidora;
		$.getJSON(action, null, ListarProdutosPorDistribuidoraCallback);
	}

	function ListarProdutosPorDistribuidoraCallback(retorno) {	    
		$("#tabelaProdutos").dataTable().fnClearTable();
		if (retorno.Sucesso) {
			$(retorno.Objeto).each(function (i, p) {
			    var linkAlterar = "<a class='' href=" + $("#actionEditarProduto").val() + "?" + "&IdProduto=" + p.IdProduto + "&IdDistribuidora=" + p.IdDistribuidora +" rel='tooltip' data-original-title='Editar'><i class='icon-pencil'></i></a>&nbsp;&nbsp;&nbsp;";
				var linkExcluir = "<a class='' href='javascript:ExibirExcluirProduto(" + p.IdProduto + ")' rel='tooltip' data-original-title='Excluir'><i class='icon-trash'></i></a>";
				var menuOpcoes = "<div>" + linkAlterar + linkExcluir + "</div>";
				$("#tabelaProdutos").dataTable().fnAddData([
						p.NomeProduto,												
						"R$ " + p.ValorUnitario,
						p.NomeSituacao,
						menuOpcoes
						]);
			});
			$("#divTabelaProduto").show('slow');
		}
		else {
			$("#divTabelaProduto").hide('slow');
		}
	}
}

function GerenciarProdutos() {
    $("#divTabelaProduto").hide();

    $("#btnListarProduto").click(function () {
        ListarProduto();
    });

    function ListarProduto() {
        IdProduto = parseInt($('#NomeProduto').val());        
        var action = $("#actionListarProduto").val() + "/" + IdProduto;
        $.getJSON(action, null, ListarProdutoCallback);
    }

    function ListarProdutoCallback(retorno) {
        $("#tabelaProdutos").dataTable().fnClearTable();
        if (retorno[0] != null) {
            $(retorno).each(function (i, p) {
                var linkAlterar = "<a class='' href=" + $("#actionEditarProdutoAdministrar").val() + "/" + p.IdProduto + " rel='tooltip' data-original-title='Editar'><i class='icon-pencil'></i></a>&nbsp;&nbsp;&nbsp;";
                var linkExcluir = "<a class='' href='javascript:ExibirExcluirProdutoAdministrar(" + p.IdProduto + ")' rel='tooltip' data-original-title='Excluir'><i class='icon-trash'></i></a>";
                var menuOpcoes = "<div>" + linkAlterar + linkExcluir + "</div>";
                $("#tabelaProdutos").dataTable().fnAddData([
						p.NomeProduto,
						p.Categoria,
						p.SubCategoria,
                        p.DataAlteracao,
                        p.NomeSituacao,
						menuOpcoes
						]);
            });
            $("#divTabelaProduto").show('slow');
        }
        else {
            $("#divTabelaProduto").hide('slow');
        }
    }
}

function CancelarOperacaoRegistrar() {
	FecharPopUp("#divRegistrarProdutoCancelar");
}

function CancelarOperacaoAlterar() {
	FecharPopUp("#divAlterarProdutoCancelar");
}

function FecharTelaExcluirProduto() {
	FecharPopUp("#TelaExcluirProduto");
}

function FecharTelaRegistrarProdutoErro() {
	FecharPopUp("#divRegistrarProdutoErro");
}

function FecharTelaAlterarProdutoErro() {
	FecharPopUp("#divAlterarPropdutoErro");
}

function FormularioExcluirProduto() {
	PrepararPopUp("#TelaExcluirProduto");
	PrepararPopUp("#divExcluirProdutoSucesso");
	PrepararPopUp("#divExcluirProdutoCancelar");
	PrepararPopUp("#divExcluirProdutoErro");
}

function ExibirExcluirProduto(id) {
	$.getJSON($("#actionExibirExcluirProduto").val() + "?id=" + parseInt(id), null, ExibirExcluirProdutoCallback);
}

function ExibirExcluirProdutoCallback(retorno) {
    $("#idproduto").html(retorno.IdProduto);
    $("#produto").html(retorno.NomeProduto);
    $("#valor").html(retorno.ValorUnitario);
    $("#situacao").html(retorno.NomeSituacao);

    AbrirPopUp("#TelaExcluirProduto");
}

function ExibirExcluirProdutoAdministrar(id) {
    $.getJSON($("#actionExibirExcluirProdutoAdministrar").val() + "?id=" + parseInt(id), null, ExibirExcluirProdutoAdministrarCallback);
}

function ExibirExcluirProdutoAdministrarCallback(retorno) {
    $("#idproduto").html(retorno.IdProduto);
    $("#produto").html(retorno.NomeProduto);
    $("#valor").html(retorno.ValorUnitario);
    $("#situacao").html(retorno.NomeSituacao);

    AbrirPopUp("#TelaExcluirProduto");
}

function ExcluirProdutoAdministrar() {
    var IdProduto = $("#idproduto").text();
    $.getJSON($("#actionExcluirProdutoAdministrar").val() + "?id=" + parseInt(IdProduto), null, ExcluirProdutoAdministrarCallback);
}

function ExcluirProdutoAdministrarCallback(retorno) {
    if (retorno.Sucesso) {
        FecharPopUp("#TelaExcluirProduto");
        AbrirPopUp("#divExcluirProdutoSucesso");
    }
    else {
        FecharPopUp("#TelaExcluirProduto");
        AbrirPopUp("#divExcluirProdutoErro");
    }
}

function ExcluirProduto() {
	var IdProduto = $("#idproduto").text();
	$.getJSON($("#actionExcluirProduto").val() + "?id=" + parseInt(IdProduto), null, ExcluirProdutoCallback);
}

function ExcluirProdutoCallback(retorno) {
	if (retorno.Sucesso) {
		FecharPopUp("#TelaExcluirProduto");
		AbrirPopUp("#divExcluirProdutoSucesso");
	}
	else {
		FecharPopUp("#TelaExcluirProduto");
		AbrirPopUp("#divExcluirProdutoErro");
	}
}